package com.opgea.crm.services;

import java.util.List;

import com.opgea.crm.common.vo.DatePeriodVo;
import com.opgea.crm.common.vo.OpportunityVo;
import com.opgea.crm.domain.entities.Opportunity;
import com.opgea.crm.domain.modal.QualifierModel;

public interface OpportunityService {

	public void create(Opportunity opportunity);
	public void update(Opportunity opportunity);
	public void remove(long id);
	public Opportunity find(long id);
	public List<Opportunity> findAll();
	public List<OpportunityVo> findAllByLeadId(long leadId);
	public List<QualifierModel> findAllOpportunitiesTitles();
	public List<QualifierModel> findAllOpportunitiesTitlesByLeadId(Long leadId);
	public List<OpportunityVo> findOpportunityList(String criteria, String value);
	public List<QualifierModel> getOpportunitySearchCriteriaTypes();
	//public List<Opportunity> findAllByCompanyId(long companyId);
	
	public List<OpportunityVo> findReport(String periodFrom, String periodTo,String statusType, String stageType );
	public DatePeriodVo findPeriod(String periodQualifier);
}
